﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.SqlClient;
using System.Data;

/// <summary>
/// Summary description for ModeloInfoProyecto
/// </summary>
public class ModeloInfoProyecto
{
    
    private String nombreProyecto;
    private String fechaCreacionProyecto;
    private String descripcionProyecto;
    private String estadoProyecto;
    private String descripcionEstadoProyecto;
    private String usuarioCreador;
    private String tipoProyecto;
    private DataTable materialesProyecto = new DataTable();
    private Conexion conn;

    
    public ModeloInfoProyecto()
	{
        conn = new Conexion();
        
        
	}

    public String getNombreProyecto()
    {
        return nombreProyecto;
    }

    public String getFechaCreacionProyecto()
    {
        return fechaCreacionProyecto;
    }

    public String getDescripcionProyecto()
    {
        return descripcionProyecto;
    }

    public String getEstadoProyecto()
    {
        return estadoProyecto;
    }

    public String getDescripcionEstadProyecto()
    {
        return descripcionEstadoProyecto;
    }

    public String getUsuarioCreador()
    {
        return usuarioCreador;
    }

    public String getTipoProyecto()
    {
        return tipoProyecto;
    }

    public DataTable getMaterialesProyecto()
    {
        return materialesProyecto;
    }

    public int obtenerDatosProyecto(String idProyecto)
    {
        try
        {

            bool connected = conn.iniciarConexion();

            if (connected == true)
            {
                String query = "SELECT PROYECTO.NOMBREPROYECTO , PROYECTO.FECHACREACIONPROYECTO, PROYECTO.DESCRIPCIONPROYECTO, ESTADO_PROYECTO.NOMBREESTADOPROYECTO , " +
                                "ESTADO_PROYECTO.DESCRIPCIONESTADOPROYECTO , USUARIO.NOMBREREALUSUARIO , USUARIO.APELLIDOPATERNOUSUARIO, USUARIO.APELLIDOMATERNOUSUARIO ,  " +
                                "TIPO_PROYECTO.NOMBRETIPOPROYECTO FROM PROYECTO INNER JOIN USUARIO ON (USUARIO.IDUSUARIO = PROYECTO.IDUSUARIO) INNER JOIN TIPO_PROYECTO ON (PROYECTO.IDTIPOPROYECTO = TIPO_PROYECTO.IDTIPOPROYECTO) " +
                                "INNER JOIN ESTADO_PROYECTO ON (PROYECTO.IDESTADOPROYECTO = ESTADO_PROYECTO.IDESTADOPROYECTO ) WHERE PROYECTO.IDPROYECTO = "+idProyecto+"";
                
                SqlDataReader rows = null;
                SqlCommand comm = new SqlCommand(query, conn.getConn());
                rows = comm.ExecuteReader();
                while (rows.Read())
                {
                    nombreProyecto = rows[0].ToString();
                    fechaCreacionProyecto = (DateTime.Parse(rows[1].ToString())).ToShortDateString();
                    descripcionProyecto = rows[2].ToString();
                    estadoProyecto = rows[3].ToString();
                    descripcionEstadoProyecto = rows[4].ToString();
                    usuarioCreador = rows[5].ToString() + " " + rows[6].ToString() + " " + rows[7].ToString() ;
                    tipoProyecto = rows[8].ToString();
                }

                rows.Close();

                String query2 = " SELECT TIPO_MATERIAL.NOMBRETIPOMATERIAL , TIPO_MATERIAL.SKUTIPOMATERIAL, MATERIAL_REAL.CANTIDADREAL, BODEGA.NOMBREBODEGA " +
                                " FROM TIPO_MATERIAL INNER JOIN MATERIAL_REAL ON (TIPO_MATERIAL.IDTIPOMATERIAL = MATERIAL_REAL.IDTIPOMATERIAL) " +
                                " INNER JOIN BODEGA ON (BODEGA.IDBODEGA = MATERIAL_REAL.IDBODEGA) " +
                                " WHERE MATERIAL_REAL.IDPROYECTO = " + idProyecto + "";
                
                SqlDataReader rows2 = null;
                SqlCommand comm2 = new SqlCommand(query2, conn.getConn());
                rows2 = comm2.ExecuteReader();

                DataColumn c1 = new DataColumn();
                c1.ColumnName = "nombre";
                DataColumn c2 = new DataColumn();
                c2.ColumnName = "sku";
                DataColumn c3 = new DataColumn();
                c3.ColumnName = "cantidad";
                DataColumn c4 = new DataColumn();
                c4.ColumnName = "bodega";

                materialesProyecto.Columns.Add(c1);
                materialesProyecto.Columns.Add(c2);
                materialesProyecto.Columns.Add(c3);
                materialesProyecto.Columns.Add(c4);

                while (rows2.Read())
                {
                    DataRow r = materialesProyecto.NewRow();
                    r["nombre"] = rows2[0].ToString();
                    r["sku"] = rows2[1].ToString();
                    r["cantidad"] = rows2[2].ToString();
                    r["bodega"] = rows2[3].ToString();
                    materialesProyecto.Rows.Add(r);
                }

                conn.terminarConexion();
                return 1;
            }

            else return -1;
        }

        catch (Exception exc)
        {
            
            conn.terminarConexion();
            return -2;
        }
    }


}